package com.hbwxz.Cas;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * CAS
 *
 * @author shenzw
 * @date 2023/12/20
 */
public class CasDemo {

    /**
     * 我们设置 atomicInteger 初始值为5
     * <p>
     * 第一次 compareAndSet 时初始值为5,修改值为6是成功的
     * <p>
     * 第二次 compareAndSet 时初始值还是5,但是第一次已经改为6了所以此次失败false
     *
     * @param args 参数
     */
    public static void main(String[] args) {
        // true	6
        // false	6
        AtomicInteger atomicInteger = new AtomicInteger(5);
        System.out.println(atomicInteger.compareAndSet(5, 6) + "\t" + atomicInteger.get());
        System.out.println(atomicInteger.compareAndSet(5, 7) + "\t" + atomicInteger.get());
    }
}
